package com.example.airole.speech.entity;

import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.Builder;

import java.util.List;

/**
 * 语音识别响应实体
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class SpeechRecognitionResponse {
    
    /**
     * 识别结果文本
     */
    private String text;
    
    /**
     * 置信度 (0-1)
     */
    private Double confidence;
    
    /**
     * 语言代码
     */
    private String language;
    
    /**
     * 处理时长(毫秒)
     */
    private Long processingTime;
    
    /**
     * 是否成功
     */
    private boolean success;
    
    /**
     * 错误信息
     */
    private String errorMessage;
    
    /**
     * 错误代码
     */
    private String errorCode;
    
    /**
     * 分段识别结果
     */
    private List<Segment> segments;
    
    /**
     * 请求ID
     */
    private String requestId;
    
    /**
     * 分段结果
     */
    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    @Builder
    public static class Segment {
        /**
         * 开始时间(秒)
         */
        private Double startTime;
        
        /**
         * 结束时间(秒)
         */
        private Double endTime;
        
        /**
         * 文本内容
         */
        private String text;
        
        /**
         * 置信度
         */
        private Double confidence;
    }
}

